メイン コーダーズルーム【スクリプト系】
数値と数値として受け取ってくれず、足し算が出来ない | 投稿するにはまず登録を |
| スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
| 投稿者 | スレッド |
|---|---|
| maki_an | Åê¹ÆNo.41840 投稿日時: 2009-3-20 13:15 |
新米 ![]() ![]() 居住地: 投稿: 25
使用環境:
FlashCS3 WINXPSP2 DELL PentiumD 1.5Ghz |
数値と数値として受け取ってくれず、足し算が出来ない いつもお世話になっております。
どうしても分からず、また、過去ログを検索して見つけることが 出来なかったので投稿させてください。 xmlからMCを生成し、各MC毎にxmlから抽出した 「タイトル」「背景画像」「x座標」と「y座標」を 持たせています。 生成されたMCは普段はただのアイコンで、 マウスオーバーすると、MCが持っている「x座標」+50 に吹き出し(mc_fukidashi)が出る、 という仕組みにしたいのです。 ですが、うまくいきません。 例えば、あるMCの保持するx座標(my_x)を0とすると、 mc_fukidashiのx座標が「050」となります。 x座標(my_x)を750にすれば75050となり、画面外に行ってしまいます。 $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ var my_x:Number = entries[n].attributes["myX"]; var my_y:Number = entries[n].attributes["myY"]; $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ 宣言の時点で「Number」とした変数を生成したMC(インスタンス名btn)に代入するのですが、 $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ btn.my_x = my_x+50; btn.my_y = my_y; $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ どうも文字列のようなつながり方をしてしまうのです。 参考になるか分かりませんが、 マウスオーバーの時点で作動するエンターフレームの スクリプトを以下に記します。 よろしくお願いいたします。 |
| 野中文雄 | Åê¹ÆNo.41841 投稿日時: 2009-3-20 13:47 |
ちょんまげら ![]() ![]() 居住地: 東京 投稿: 4247
使用環境:
CS4 .4.11 Vista Home Premium (SP1) |
Re: 数値と数値として受け取ってくれず、足し算が出来ない ActionScriptのバージョンは、おそらく2.0をお使いだと「推測」します。
「xmlから抽出した」値は、そのままでは文字列だと思います。つまり、そもそも「数値」になっていないのではありませんか? 引用: maki_anさんは書きました: |
| maki_an | Åê¹ÆNo.41853 投稿日時: 2009-3-20 21:20 |
新米 ![]() ![]() 居住地: 投稿: 25
使用環境:
FlashCS3 WINXPSP2 DELL PentiumD 1.5Ghz |
Re: 数値と数値として受け取ってくれず、足し算が出来ない actionscript2.0使用です。説明が足りず、申し訳ありません。
traceしたところ、「string」と出ました。 これがnumberになるようになればよいのですね。 var my_x:Number = entries[n].attributes["myX"]; var my_y:Number = entries[n].attributes["myY"]; my_xを数字として宣言していることにはならないのですね。 引き続き頑張りたいと思います。 |
| 野中文雄 | Åê¹ÆNo.41854 投稿日時: 2009-3-21 9:11 |
ちょんまげら ![]() ![]() 居住地: 東京 投稿: 4247
使用環境:
CS4 .4.11 Vista Home Premium (SP1) |
Re: 数値と数値として受け取ってくれず、足し算が出来ない 文字列の数字を数値に変換するには、Number()もしくはparseFloat()関数を用います。
変数をNumber型で「宣言」することがただちに、代入値を自動的に数値に「変換」してくれることを意味しません。また、ActionScript 2.0の型指定はSWFの書出し(コンパイル)時にチェックされます。しかし、配列アクセス演算子[]で取出した値については、この型チェックが行われません。 なお、ActionScript 3.0では、数値で宣言した変数に配列アクセス演算子[]で取得した文字列の数字を代入すると、黙示的にデータ型が変換されます。 引用: maki_anさんは書きました: |
| maki_an | Åê¹ÆNo.41867 投稿日時: 2009-3-23 22:22 |
新米 ![]() ![]() 居住地: 投稿: 25
使用環境:
FlashCS3 WINXPSP2 DELL PentiumD 1.5Ghz |
Re: 数値と数値として受け取ってくれず、足し算が出来ない お返事が遅れて申し訳ありませんでした。
ありがとうございました。 とても助かりました。 AS3.0も徐々に勉強していきたいと思います! |
| スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |
| 投稿するにはまず登録を | |



ログイン




CS4
.4.11
Vista Home Premium (SP1)

